package com.coolw.toolkit.guava.collect;

import com.google.common.collect.BiMap;
import com.google.common.collect.HashBiMap;

/**
 * BiMap：双向的map，可以通过key查value（key同map会覆盖），也可以通过value查key（value不能重复，不然会报错）
 *
 * @author coolw
 * @date 2024/1/25 9:41
 */
public class BiMapTest {

    public static void main(String[] args) {
        BiMap<String, String> biMap = HashBiMap.create();
        biMap.put("code", "111");
        biMap.put("code", "222");
        biMap.put("code", "333");
        biMap.put("name", "coolw");
        // 会报错，value不能重复
        //biMap.put("key", "333");

        // 根据key获取value
        String value = biMap.get("code");
        // key一样，value会重复，取最后一次的值
        System.out.println(value);

        // 根据value获取key
        String key = biMap.inverse().get("coolw");
        System.out.println(key);
    }
}
